package com.ygqh.baby.service;

import com.foxinmy.weixin4j.exception.WeixinPayException;
import com.ygqh.baby.ao.AppType;
import com.ygqh.baby.ao.PayType;
import com.ygqh.baby.po.YgPlatform;
import com.ygqh.baby.service.pay.UnifiedOrderResult;

import java.math.BigDecimal;

public interface YgPayService {

	/**
	 * 支付统一下单接口（暂不支持支付宝支付）
	* @Title: unifiedOrder 
	*  @param platform （M站支付可空，壹家店支付必填）
	*  @param appType
	*  @param payType
	*  @param paymentCode
	*  @param price
	*  @param ipAddr
	*  @param openId 可空（app支付可空）
	 *  @param notifyUrl 可空 默认为 订单支付回调
	 *  @param attach 可空 自定义参数
	*  @return
	*  @throws WeixinPayException    入参
	* @return UnifiedOrderResult    返回类型
	* @author （guohao） 
	* @throws
	* @date 2018年5月31日 下午2:52:33 
	* @version V1.0
	 * @throws Exception 
	 */
	UnifiedOrderResult unifiedOrder(YgPlatform platform, AppType appType, PayType payType, String paymentCode, BigDecimal price, String ipAddr, String openId,
			String notifyUrl, String attach);

	void refund(YgPlatform platform, AppType appType, PayType payType, String returnCode, String orderPayCode, BigDecimal refundPrice, BigDecimal totalPrice);

}
